import { ref, watch, reactive, getCurrentInstance } from 'vue'
import { Search, Plus, Refresh } from '@element-plus/icons-vue'
import { ElMessage } from 'element-plus'
import request from '@/utils/request'
import buttonAction from './component/buttonAction'
import $button from '@/button'
import {pagingDoc} from '@/api/resource/doc'
export const tableItem = reactive({
		select: true,
		index: false,
		tree: true,
		expandAll: true,
		align: 'center',
		column: [
			{
				label: '名称',
				prop: 'name',
				align: 'center',
			},
			{
				label: '课程类型',
				prop: 'courseTypeName',
				align: 'center',
			},
			{
				label: '资料类型',
				prop: 'typeName',
				align: 'center',
			},
			{
				label: '年份',
				prop: 'year',
				align: 'center',
			},
			{
				label: '讲师',
				prop: 'teacherName',
				align: 'center',
			},
			{
				label: '状态',
				prop: 'publishedFlag',
				align: 'center',
				htmlContent: row => {
					return `<span>${row.publishedFlag == 1? '上架' : '下架'}</span>`
				},
			},
			{
				label: '下载次数',
				prop: 'downloadCount',
				align: 'center',
			},
			{
				label: '操作',
				prop: 'action',
				align: 'center',
				width: '250px',
				component: buttonAction,
			}
		],
		pageInfo: {
			request: {
				'name': '', //资料名称
				'teacherId': '', //老师id
				'courseType': '', //课程类型,字典表id,内容为市政,经济等
				'publishedFlag': '', //是否上架
				'startTime': '',
				'endTime': '',
				'pageDomain': {
					'pageNum': '1',//分页页面数
					'pageSize': '10',//分页页面数据大小
					'orderByColumn': '',//搜索参数
					'isAsc': '',//搜索参数
					'reasonable': ''//搜索参数
				}
			},
			pagesClose: false,//是否开启分页
			url: '',//分页路由，不传的话需要传入自定义的分页函数paging 传入时定义的分页函数paging会失效
			method: 'POST',//分页请求方法，不传默认为POST
			// 分页函数paging
			paging: function () {
				pagingDoc(tableItem.pageInfo.request).then(res => {
					tableItem.tableData.data = res.rows
					tableItem.tableData.total = res.total
				})
			}
		},
		// 分页数据 自定义分页函数paging时需要把值赋给tableData
		tableData: {
			total: '',//分页总计
			// 分页数据
			rows: []
		},
		// 操作栏按钮
		btnArray: [
			{
				label: '详情',
				type: 'primary',
				plain: true,//镂空按钮  优先文字按钮
				text: true,//文字按钮
				customParameters: 'view',//自定义函数参数
				show: true,//是否显示
				// 按钮方法
				handle: function (row) {
				}
			},
			{
				label: '修改',
				type: 'primary',
				plain: true,//镂空按钮  优先文字按钮
				text: true,//文字按钮
				customParameters: 'edit',//自定义函数参数
				show: true,//是否显示
				// 按钮方法
				handle: function (row) {
				}
			},
			{
				label: '下载',
				type: 'primary',
				plain: true,//镂空按钮  优先文字按钮
				text: true,//文字按钮
				customParameters: 'edit',//自定义函数参数
				show: true,//是否显示
				// 按钮方法
				handle: function (row) {
				}
			},
			{
				label: '上架',
				type: 'primary',
				plain: true,//镂空按钮  优先文字按钮
				text: true,//文字按钮
				customParameters: 'edit',//自定义函数参数
				show: true,//是否显示
				// 按钮方法
				handle: function (row) {
				}
			},
			{
				label: '下架',
				type: 'danger',
				plain: true,//镂空按钮  优先文字按钮
				text: true,//文字按钮
				customParameters: 'edit',//自定义函数参数
				show: true,//是否显示
				// 按钮方法
				handle: function (row) {
				}
			},
		],
		moreBtnArrayText: '',
		moreBtnArray: [],
		// 选择框触发
		selectChange: function (row) {
		},
	}
)

export const operationItem = reactive({
    defaultSearch: false,
    defaultRefresh: false,
    SearchItem: [
        {
            code: 'name',
            name: '名称',
            type: 'input',
            placeholder: '请输入名称',
        },
        {
            code: 'courseType',
            name: '课程类型',
            type: 'cascader',
			options: [],
			props: {label:'name',value:'id',children:'children',emitPath:false}
        },
		{
			code: 'type',
			name: '类型',
			type: 'select',
			options: [],
		},
		{
			code: 'year',
			valueFormat: 'YYYY', //默认是YYYY-MM-DD
			placeholder: '请选择年份',
			type: 'year',
		},
		{
			code: 'publishedFlag',
			name: '上架状态',
			type: 'select',
			placeholder: '请选择上架状态',
			options: [
				{ label: '上架', value: 1 },
				{ label: '下架', value: 0 }
			]
		},
    ],
    menuArray: [
        {
            show: true,
            type: '',
            text: '重置',
            icon: Refresh,
            handle: () => {
            }
        },
        {
            show: true,
            type: 'primary',
            text: '查询',
            icon: Search,
            handle: () => {
            }
        },
		{
			show: true,
			type: 'danger',
			hasPermi:[$button.personpersonexport||null],
			text: '批量删除',
			handle: () => {
			}
		},
		{
			show: true,
			type: 'primary',
			hasPermi:[$button.personpersonexport||null],
			text: '新建',
			handle: () => {
			}
		},
		{
			show: true,
			type: 'primary',
			hasPermi:[$button.personpersonexport||null],
			text: '上传资料',
			handle: () => {
			}
		},
		{
			show: true,
			type: 'primary',
			hasPermi:[$button.personpersonexport||null],
			text: '导入',
			handle: () => {
			}
		},
        {
            show: true,
            type: 'primary',
            hasPermi:[$button.personpersonexport||null],
            text: '导出',
            handle: () => {
            }
        },
    ]
})


